/**
 * 应用程序主服务
 *
 * @file   app.service.ts
 * @author ahaotriple
 * @date   2024-03-05
 * @version 1.0.0
 * @license MIT
 *
 * @description
 * 这是应用程序的根服务，提供基础的应用程序服务。
 * 主要用于：
 * 1. 提供应用程序的基础功能
 * 2. 作为服务实现的示例
 * 3. 处理通用的业务逻辑
 *
 * @example
 * // 在控制器中使用
 * constructor(private readonly appService: AppService) {}
 *
 * // 获取欢迎信息
 * const message = this.appService.getHello();
 *
 * // 获取版本信息
 * const version = this.appService.getVersion();
 */

import { Injectable } from '@nestjs/common';

/**
 * 应用程序服务类
 * 提供应用程序的核心服务功能
 *
 * @class AppService
 */
@Injectable()
export class AppService {
  /**
   * 获取欢迎信息
   * 返回应用程序的欢迎消息
   *
   * @returns {string} 返回欢迎信息
   * @example
   * const message = appService.getHello();
   * console.log(message); // "Hello World!"
   *
   * @public
   * @method getHello
   */
  getHello(): string {
    return 'Hello World!';
  }

  /**
   * 获取应用程序版本信息
   * 返回当前应用程序的版本、名称和描述信息
   *
   * @returns {object} 返回版本信息对象
   * @example
   * const versionInfo = appService.getVersion();
   * console.log(versionInfo);
   * // {
   * //   version: "1.0.0",
   * //   name: "auto-serve",
   * //   description: "基于 NestJS 框架的自动化服务后端项目"
   * // }
   *
   * @public
   * @method getVersion
   */
  getVersion(): object {
    return {
      version: '1.0.0',
      name: 'auto-serve',
      description: '基于 NestJS 框架的自动化服务后端项目',
    };
  }
}
